home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software of the Month Club 2000 October
/
Software of the Month - Ultimate Collection Shareware 277.iso
/
pc
/
PROGRAMS
/
UTILITY
/
WINLINUX
/
DATA1.CAB
/
programs_-_include
/
ASM-M68K
/
MACHW.H
< prev
next >
Wrap
C/C++ Source or Header
|
1999-09-17
|
4KB
|
159 lines
/*
** linux/machw.h -- This header defines some macros and pointers for
** the various Macintosh custom hardware registers.
**
** Copyright 1997 by Michael Schmitz
**
** This file is subject to the terms and conditions of the GNU General Public
** License. See the file COPYING in the main directory of this archive
** for more details.
**
*/
#ifndef _ASM_MACHW_H_
#define _ASM_MACHW_H_
/*
* head.S maps the videomem to VIDEOMEMBASE
*/
#define VIDEOMEMBASE 0xf0000000
#define VIDEOMEMSIZE (4096*1024)
#define VIDEOMEMMASK (-4096*1024)
#ifndef __ASSEMBLY__
#include <linux/types.h>
/* Mac SCSI Controller 5380 */
#define MAC_5380_BAS (0x50F10000) /* This is definitely wrong!! */
struct MAC_5380 {
u_char scsi_data;
u_char char_dummy1;
u_char scsi_icr;
u_char char_dummy2;
u_char scsi_mode;
u_char char_dummy3;
u_char scsi_tcr;
u_char char_dummy4;
u_char scsi_idstat;
u_char char_dummy5;
u_char scsi_dmastat;
u_char char_dummy6;
u_char scsi_targrcv;
u_char char_dummy7;
u_char scsi_inircv;
};
#define mac_scsi ((*(volatile struct MAC_5380 *)MAC_5380_BAS))
/*
** SCC Z8530
*/
#define MAC_SCC_BAS (0x50F04000)
struct MAC_SCC
{
u_char cha_a_ctrl;
u_char char_dummy1;
u_char cha_a_data;
u_char char_dummy2;
u_char cha_b_ctrl;
u_char char_dummy3;
u_char cha_b_data;
};
# define mac_scc ((*(volatile struct SCC*)MAC_SCC_BAS))
/*
** VIA 6522
*/
#define VIA1_BAS (0x50F00000)
#define VIA2_BAS (0x50F02000)
#define VIA2_BAS_IIci (0x50F26000)
struct VIA
{
u_char buf_b;
u_char dummy1[0x199];
u_char buf_a;
u_char dummy2[0x199];
u_char dir_b;
u_char dummy3[0x199];
u_char dir_a;
u_char dummy4[0x199];
u_char timer1_cl;
u_char dummy5[0x199];
u_char timer1_ch;
u_char dummy6[0x199];
u_char timer1_ll;
u_char dummy7[0x199];
u_char timer1_lh;
u_char dummy8[0x199];
u_char timer2_cl;
u_char dummy9[0x199];
u_char timer2_ch;
u_char dummy10[0x199];
u_char sr;
u_char dummy11[0x199];
u_char acr;
u_char dummy12[0x199];
u_char pcr;
u_char dummy13[0x199];
u_char int_fl;
u_char dummy14[0x199];
u_char int_en;
u_char dummy15[0x199];
u_char anr;
u_char dummy16[0x199];
};
# define via_1 ((*(volatile struct VIA *)VIA1_BAS))
# define via_2 ((*(volatile struct VIA *)VIA2_BAS))
# define via1_regp ((volatile unsigned char *)VIA1_BAS)
/*
* OSS/RBV base address
*/
#define OSS_BAS 0x50f1a000
#define PSC_BAS 0x50f31000
/* move to oss.h?? */
#define nIFR 0x203
#define oIFR 0x202
/* hardware stuff */
#define MACHW_DECLARE(name) unsigned name : 1
#define MACHW_SET(name) (mac_hw_present.name = 1)
#define MACHW_PRESENT(name) (mac_hw_present.name)
struct {
/* video hardware */
/* sound hardware */
/* disk storage interfaces */
MACHW_DECLARE(MAC_SCSI_80); /* Directly mapped NCR5380 */
MACHW_DECLARE(MAC_SCSI_96); /* 53c9[46] */
MACHW_DECLARE(MAC_SCSI_96_2); /* 2nd 53c9[46] Q900 and Q950 */
MACHW_DECLARE(IDE); /* IDE Interface */
/* other I/O hardware */
MACHW_DECLARE(SCC); /* Serial Communications Contr. */
/* DMA */
MACHW_DECLARE(SCSI_DMA); /* DMA for the NCR5380 */
/* real time clocks */
MACHW_DECLARE(RTC_CLK); /* clock chip */
/* supporting hardware */
MACHW_DECLARE(VIA1); /* Versatile Interface Ad. 1 */
MACHW_DECLARE(VIA2); /* Versatile Interface Ad. 2 */
MACHW_DECLARE(RBV); /* Versatile Interface Ad. 2+ */
/* NUBUS */
MACHW_DECLARE(NUBUS); /* NUBUS */
} mac_hw_present;
/* extern struct mac_hw_present mac_hw_present; */
#endif /* __ASSEMBLY__ */
#endif /* linux/machw.h */